from __clrclasses__.System import MarshalByRefObject as _n_0_t_0
from __clrclasses__.System import IntPtr as _n_0_t_1
from __clrclasses__.System import Array as _n_0_t_2
from __clrclasses__.System.Runtime.Remoting import ObjRef as _n_1_t_0
from __clrclasses__.System.Runtime.Remoting.Activation import IConstructionReturnMessage as _n_2_t_0
from __clrclasses__.System.Runtime.Remoting.Activation import IConstructionCallMessage as _n_2_t_1
from __clrclasses__.System.Runtime.Remoting.Proxies import RealProxy as _n_3_t_0
import typing
class EnterpriseServicesHelper(object):
    def __init__(self) -> EnterpriseServicesHelper:...
    @staticmethod
    def CreateConstructionReturnMessage(ctorMsg: _n_2_t_1, retObj: _n_0_t_0) -> _n_2_t_0:...
    @staticmethod
    def SwitchWrappers(oldcp: _n_3_t_0, newcp: _n_3_t_0):...
    @staticmethod
    def WrapIUnknownWithComObject(punk: _n_0_t_1) -> object:...
class ITrackingHandler():
    def DisconnectedObject(self, obj: object):...
    def MarshaledObject(self, obj: object, _or: _n_1_t_0):...
    def UnmarshaledObject(self, obj: object, _or: _n_1_t_0):...
class TrackingServices(object):
    @property
    def RegisteredHandlers(self) -> _n_0_t_2[ITrackingHandler]:"""RegisteredHandlers { get; } -> Array"""
    def __init__(self) -> TrackingServices:...
    @staticmethod
    def RegisterTrackingHandler(handler: ITrackingHandler):...
    @staticmethod
    def UnregisterTrackingHandler(handler: ITrackingHandler):...
